In recent years, there has been a large amount of interest in providing computer network connectivity, in particular Internet connectivity, to nearly every conceivable device. This type of effort has been commonly been termed the “Internet of Things” (abbreviated as either IoT or IOT). Indeed, the IOT is commonly understood to be a concept, system, or method, by which everyday objects may be connected to computer networks such as the Internet. Each IOT device or “thing” may be uniquely identifiable through its embedded computing system and is able to interoperate within the existing Internet infrastructure. In many applications, the IOT devices used to provide IOT functionality will often have very limited access to electrical energy and often must be relatively small and inexpensive.
Although in principle any device, including large devices directly connected to high capacity energy sources and equipped with high power consumption processors, can be connected to the Internet, the term IOT is often used in conjunction with devices that may have little or no access to energy beyond built-in battery energy or other limited energy sources. Often, these limited energy sources are expected to operate the IOT device for periods of years or more.
It is also envisioned that many IOT devices, in particular IOT sensors, should be able to operate over relatively long periods of time with little or no need for Internet or other computer network connectivity. That is, a typical IOT device may often have long periods of low activity and low communications needs, followed by occasional periods where higher activity and higher communications needs may be required.
To reduce power and energy demands, processors commonly used for IOT functions, such as processors from the popular ARM family of processors, typically can be configured to operate at a variety of different clock speeds and to shut down some or all portions of its processor core when not all of processing capability is needed. These various processor states can save a considerable amount of energy because, to a first approximation, processor power use (e.g. energy use per unit time) is often proportional to the processor's clock speed, which is the frequency of operation of the processor's central processing unit (CPU). Certain processors may be configured to operate in various power consumption states, such as in (i) an ultra-low power consumption state where only basic timekeeping circuits and/or interrupt wakeup circuits may be activated, (ii) a low power state, where the processor is fully functioning but operating at perhaps ⅕ to 1/10 or less of its highest clock speed and power needs, and (iii) a high power consumption state where the processor is operating at or near its highest clock speed. Typically such processors will also have timing or clock circuitry that can be configured to “wake up” the processor at various intervals, and cause the processor to transition, for example, from an ultra-low to low power mode, or from low-power mode to high power mode. The processor can spend most of its time idling at a lower power consumption mode, and only transition to high power consumption mode when needed.
Although some IOT devices may connect to larger computer networks, such as the internet, with hard-wire network connections such as electrical wires or cables, optical fiber, and the like, for many potential IOT devices, wireless network connection methods is often either preferred, or indeed may be the only feasible method. Here prior art wireless connectivity schemes, such as the popular IEEE 802.11 (WiFi) methods, IEEE 802.15 (Bluetooth™) methods, IEEE. 802.15.4 (ZigBee™) methods, Z-wave™ wireless mesh methods, and the like may be used. Wireless mesh network schemes can help enable the relatively low power IOT wireless signals to be transmitted from various IOT devices to various Internet access points.
However these prior art wireless methods tend to have both a significant amount of both power consumption and computational overhead associated with them. Additionally, because such prior art wireless methods can be easily disrupted due to various types of channel imperfections, it is often necessary to expend yet more energy and overhead in encoding, verifying, and retransmitting information packets in order to cope with such disruptions.